package com.deer.wms.base.system.dao;

import com.deer.wms.base.system.model.Cell.CellInfo;
import com.deer.wms.base.system.model.Cell.CellInfoCriteria;
import com.deer.wms.base.system.model.Cell.CellInfoDto;
import com.deer.wms.project.root.mapper.SuperMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author guo
 */
public interface CellInfoMapper extends SuperMapper<CellInfo> {
    List<CellInfoDto> findList(CellInfoCriteria criteria);

    CellInfoDto findByCodeAndWareId(@Param("cellCode") String cellCode, @Param("wareId") Integer wareId);

    List<CellInfo> findByShelfInfoId(@Param("shelfInfoId") Integer shelfInfoId);

    void deleteByShelfId(@Param("shelfInfoId") Integer shelfInfoId);

    List<CellInfoDto> findByCellUseTypes(CellInfoCriteria criteria);

    CellInfo getSysCell(@Param("wareId") Integer wareId, @Param("type") Integer type);

    String getNewInCell(Integer wareId);

    /**
     * 获取库位的类型
     * @param cellCode 库位编码
     * @param wareId 仓库id
     * @return Integer
     */
    Integer getCellType(@Param("cellCode") String cellCode, @Param("wareId") Integer wareId);

    List<CellInfoDto> findByWareIdList(CellInfoCriteria criteria);

//    Integer getSjcTasks(@Param("cellCode") String cellCode,@Param("wareId") Integer wareId);
//    Integer getInventorys(@Param("cellCode") String cellCode,@Param("wareId") Integer wareId);

}